//!----------------------------------------------------------------------------
//!<Interface> Vertex
//!----------------------------------------------------------------------------

//!<Include> IProjectVertex.sl

//!----------------------------------------------------------------------------
//!<Source> Vertex
//!----------------------------------------------------------------------------

//!<Include> TransformState.sl

// Bone definition
struct Bone {
	// Bone translation
	vec3 Translation;
	// Bone rotation
	vec4 Rotation;
};

// Project vertex position
vec4 ProjectVertexPosition(vec4 v)
{
	return (ds_ModelProjection * v);
}

// Project vertex position
vec4 ProjectVertexPosition(vec3 v)
{
	return (ds_ModelProjection * vec4( v.xyz , 1.0 ) );
}

// Project vertex normal
vec3 ProjectVertexNormal(vec3 n)
{
	return (ds_NormalMatrix * n);
}
